package com.galaxy.device.domain.convert;

import com.galaxy.device.domain.DeviceLocation;
import com.galaxy.device.domain.bo.DeviceLocationBo;
import com.galaxy.device.domain.vo.DeviceLocationVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 设备位置对象转换器
 */
@Mapper
public interface DeviceLocationConvert {

    DeviceLocationConvert INSTANCE = Mappers.getMapper(DeviceLocationConvert.class);

    /**
     * 实体转BO
     */
    DeviceLocationBo convert(DeviceLocation bean);

    /**
     * 实体列表转BO列表
     */
    List<DeviceLocationBo> convertList(List<DeviceLocation> list);

    /**
     * 实体转VO
     */
    DeviceLocationVo convertVo(DeviceLocation bean);

    /**
     * 实体列表转VO列表
     */
    List<DeviceLocationVo> convertVoList(List<DeviceLocation> list);

    /**
     * BO转实体
     */
    DeviceLocation convert(DeviceLocationBo bo);

    /**
     * BO列表转实体列表
     */
    List<DeviceLocation> convertListBo(List<DeviceLocationBo> list);

    DeviceLocationBo convert(DeviceLocationVo vo);
} 